package com.papers.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * 章节视图对象 t_juan_chapter
 *
 * @author papers
 * @date 2022-10-08
 */
@Data
@ExcelIgnoreUnannotated
public class TJuanChapterOutVo {

    private static final long serialVersionUID = 1L;

    /**
     * ID
     */
    @ExcelProperty(value = "ID")
    @ExcelIgnore
    private String chapterId;

    /**
     * 题库ID
     */
    @ExcelProperty(value = "题库ID")
    @ExcelIgnore
    private String courseId;

    /**
     * 章节编号
     */
    @ExcelProperty(value = "章节编号")
    private String chapterCode;

    /**
     * 题库名称
     */
    @ExcelProperty(value = "题库名称")
    private String courseSubject;

    /**
     * 题库编号
     */
    @ExcelProperty(value = "题库编号")
    private String courseCode;

    /**
     * 父节点ID
     */
    @ExcelProperty(value = "父节点ID")
    @ExcelIgnore
    private String chapterParentId;

    /**
     * 名称
     */
    @ExcelProperty(value = "章节名称")
    private String chapterName;

    /**
     * 类型
     */
    @ExcelProperty(value = "类型")
    private String chapterType;

    /**
     * 描述
     */
    @ExcelProperty(value = "描述")
    private String chapterDes;

    /**
     * 创建人
     */
    @ExcelProperty(value = "创建人")
    private String createdBy;

    /**
     * 创建时间
     */
    @ExcelProperty(value = "创建时间")
    private Date createdTime;

    /**
     * 更新人
     */
    @ExcelProperty(value = "更新人")
    private String updatedBy;

    /**
     * 更新时间
     */
    @ExcelProperty(value = "更新时间")
    private Date updatedTime;

    /**
     * 父节点
     */
    @ExcelProperty(value = "父节点")
    @ExcelIgnore
    private String parentId;

    /**
     * 排序
     */
    @ExcelIgnore
    @ExcelProperty(value = "排序")
    private Integer chapterSort;
    /**
     * 子节点
     */
    private List<TJuanChapterOutVo> children = new ArrayList<>();

    /**
     * 教研室编号
     */
    @ExcelProperty(value = "教研室编号")
    private Integer department;
}
